function create_history_view() {
	create_year_list();
}

// 新建一个时间范围容器,range包括year,month,day
function new_task_period(item,range){
	var htmlstr = '<div id="' + item.period + '" class="task period" data-range="' + range + '" data-period="' + item.period + '"><a class="expend_fold" href="###" title="展开"><i class="fa fa-folder-o"></i></a><span class="task_title" title="">' + item.period + '</span><span class="task_count">' + item.task_count + '</span></div>';
	return htmlstr;
}

//创建年份列表
function create_year_list() {
	var items;
	var htmlstr = "";
	$.post("/index.php/taskhistory/getyearlist/",
		{
			team: teamid
		},
		function (dataGet) {
			if (dataGet.data) {
				items = dataGet.data;
				$.each(items, function (idx, item) { 
					htmlstr += new_task_period(item,'year');
					// htmlstr += '<div id="' + item.period + '" class="task year" data-range="year" data-period="' + item.period + '"><a class="expend_fold" href="###" title="展开"><i class="fa fa-folder-o"></i></a><span class="task_title" title="">' + item.period + '</span><span class="task_count">' + item.task_count + '</span></div>';
				});
				$("#history_view").append(htmlstr);
			}
		}, "json");
}
// 创建指定年下的月份列表
function create_month_list(year) {
	var items;
	var htmlstr = "";
	$.post("/index.php/taskhistory/getmonthlist/" + year,
		{
			team: teamid
		},
		function (dataGet) {
			if (dataGet.data) {
				items = dataGet.data;
				$.each(items, function (idx, item) { 
					htmlstr += new_task_period(item,'month');
					// htmlstr += '<div id="month-' + item.month + '" class="task day" data-month="' + item.month + '"><a class="expend_day expend_fold" href="###" title="展开"><i class="fa fa-folder-o"></i></a><span class="task_title task_for_drag " title="">' + item.month + '</span><span class="task_count">' + item.task_count + '</span></div>';
				});
				$("#history_view div.task[data-period='" + year + "']").append(htmlstr);
				expend_icon_status_dom("#history_view div.year[data-month='" + year + "']");
			}
		}, "json");
}
//创建指定月下的日期列表
function create_day_list(year_month) {
	var items;
	var htmlstr = "";
	$.post("/index.php/taskhistory/getdaylist/" + year_month,
		{
			team: teamid
		},
		function (dataGet) {
			if (dataGet.data) {
				items = dataGet.data;
				$.each(items, function (idx, item) { 
					htmlstr += new_task_period(item,'day');
					// htmlstr += '<div id="day-' + item.day + '" class="task day" data-day="' + item.day + '"><a class="expend_day expend_fold" href="###" title="展开"><i class="fa fa-folder-o"></i></a><span class="task_title task_for_drag " title="">' + item.day + '</span><span class="task_count">' + item.task_count + '</span></div>';
				});
				$("#history_view div.task[data-period='" + year_month + "']").append(htmlstr);
				expend_icon_status_dom("#history_view div.month[data-month='" + year_month + "']");
			}
		}, "json");
}
//挂装指定月下所有任务，现在没用
function create_month_task(year_month) {
	var items;
	var htmlstr = '';
	$.getJSON("/index.php/taskhistory/getmonthtask/" + year_month,
		function (dataGet) {
			//			console.log(dataGet);
			if (dataGet.data) {
				console.log(dataGet.data);
				items = dataGet.data;
				$.each(items, function (idx, item) { 
					htmlstr += new_task(item);
				});
				$('div.task[data-period="' + year_month + '"]').append(htmlstr);
				expend_icon_status_dom('.month[data-month="' + year_month + '"]');
			}
		}
	);

}
//挂装指定日期下的所有任务
function create_day_task(year_month_day) {
	var items;
	var htmlstr = '';
	$.post("/index.php/taskhistory/getdaytask/" + year_month_day,
		{
			team: teamid
		},
		//		$.getJSON("/index.php/taskhistory/getdaytask/"+year_month_day, 
		function (dataGet) {
			//			console.log(dataGet);
			if (dataGet.data) {
				// console.log(dataGet.data);
				items = dataGet.data;
				$.each(items, function (idx, item) { 
					htmlstr += new_task_timeline(item);
				});
				$('#history_view div.task[data-period="' + year_month_day + '"]').append(htmlstr);
				expend_icon_status_dom('.day[data-day="' + year_month_day + '"]');
			}
		}, "json");

}

//根据时间范围，调用不同函数
function create_child_list(range,period){
	switch (range) {
		case 'year':
			create_month_list(period);
			break;
		case 'month':
			create_day_list(period);
			break;
		case 'day':
			create_day_task(period);
			break;
		default:
	}

}

function new_task_timeline(item,nodivend){
	var new_dom_id = unique_dom_id++;
	var htmlstr='<div  data-taskid="'+item.id+'" ';
	htmlstr+=' class="task  tiemline" id="'+new_dom_id+'"'
		+' draggable="true" ondragstart="task_dragstart(event)" ';//仅有正常节点才能被拖放
	htmlstr=htmlstr
	+' data-sort="'+item.sort+'"'
	+' data-stage="'+item.stage+'"'
	+' data-active="'+item.active+'"'
	+' data-parent="'+item.parent+'"'
	+' data-archive="'+item.archive+'"'
	+' data-nodetype="'+item.getway+'"'
	+' data-intags="'+item.intags+'"'
	+' data-tags="'+item.tags+'"'
	+' data-haschild="'+item.haschild+'"'
	+' data-team="'+item.tid+'"'
    +' data-set="'+item.set+'"'
    +' data-nodetype="'+item.nodetype+'"'
	+' data-simple="'+item.simple+'"';
	if(!item.nodetype){
//		htmlstr+='  ondrop="task_drop(event)" ';
	}
	htmlstr+='>';
//	console.log(htmlstr);
	htmlstr+=new_task_header_timeline(item);
	//是否包含</div>结束符，还是依赖调用程序来收尾
	if(!nodivend){
		htmlstr += '</div>';
	}
	return htmlstr;
}

// 生成task的题头部分，用push代替+=，以提高性能
function new_task_header_timeline(item){
	var buf = [];
	// 右或下箭头图标
	// buf.push('<span class="right_btn"><a><i class="fa fa-angle-up"></i></a><a><i class="fa fa-angle-down"></i></a><a><i class="fa fa-angle-right"></i></a></span>');
	// 文件夹图标
	buf.push('<a class="expend_fold" href="###" title="展开"><i  class="fa fa-folder-o"></i></a>');

	//创建时间
	buf.push('<span class="task_creatime " >'+ item.in_date.slice(-8,-3) +'</span> ');
	
	// 标题
	buf.push('<span class="task_title task_for_drag " title="'+String(item.in_date)+'">'+item.title+'</span>');

	// 任务状态图标
//	htmlstr+='<span class="task_stage"><i  class="fa '+stage_icon[item.stage]+'"></i></span>';//使用font-awesome的字体图标
//	htmlstr+='<img class="stage_icon" src="'+stage_svg_icon[item.stage]+'" >';//使用图标数组
	buf.push('<a class="stage_icon"><i></i></a>');//使用样式表图形文件图标
    
	// 任务日期
	buf.push('<span class="start_date">' + (item.start_date?String(item.start_date).substring(5,10):'') + '</span>');
	// 任务标签
	buf.push('<span class="tags">'+(item.tags?tags_split_html(String(item.tags)):'')+'</span>');
	// 图标栏
	buf.push('<span class="iconbar">'+(item.intags?style_tags_split_html(String(item.intags)):'')+'</span>');
	// 内链
	buf.push((item.internal_link>0)
				?'<a class="task_internal_link" href="###" data-internal_link="'+item.internal_link+'" title="关联到其它任务"><i class="fa fa-share-square" onclick="position_task_id('+item.internal_link+')"></i></a>'
				:'<a class="task_internal_link"></a>'
			);
			
	// 外链
	if(item.link){
		r=item.link.match(/http[s]?\:\/\/([^\/]*)/);

		if(r){

			buf.push('<a class="task_link" href="'+item.link+'" target="_blank" title="外链" ><img  class="fa fa-link" src="'+r[0]+'/favicon.ico'+'" onerror="this.src=\'/_assets/icons/link.svg\';"></a>');
		}else{
			buf.push('<a class="task_link" href="'+item.link+'" target="_blank" title="外链"><i class="fa fa-link"></i></a>');			
		}
	}else{
		buf.push('<a class="task_link"></a>');
	}
	// 照片
	if(item.photo){
		buf.push('<a class="task_photo_icon" href="###" title="图片" data-url="'+item.photo+'"><i class="fa fa-photo"></i></a>');
	}else{
		buf.push('<a class="task_photo_icon"></a>');
	}
	// 注释
	if(item.comment){
		buf.push('<a class="task_comment_icon" href="###"  title="备注"><i class="fa fa-comment"></i></a>');
	}else{
		buf.push('<a class="task_comment_icon"></a>');
		item.comment='';
	}
	// 魔术图标
	buf.push('<a class="magic_icon" href="###"><i ></i></a>');
    // buf.push('<span class="profile_photo"></span>');
	// 工具栏调用图标
	buf.push('<a class="icon_button btn_for_toolbar"  href="###"  title="操作面板'+item.id+'"><i  class="fa fa-lg fa-angle-double-right"></i></a>');
	// 注释
	buf.push('<div class="task_comment radius" ><span><i class="fa fa-check btn" onclick="change_comment(event);"></i><i class="fa fa-remove btn " ></i></span><textarea>'+item.comment+'</textarea></div>');
	//一个头结束占位符
	buf.push('<span class="head_end"></span>')
	
	return  buf.join('');
}

$(document).ready(function () {
	//展开按扭的动作
	$("#history_view").delegate('a.expend_fold', 'click', function (e) {
		event = e || event; //为兼容firefox的事件模型
		//			console.log(event.target);
		var domid = $(event.target).closest(".task").attr('id');
		// console.log($("#" + domid).children('.task').length);
		var range = $("#" + domid).attr("data-range");
		var period = $("#" + domid).attr("data-period");

		if ($("#" + domid).children('.task').length <= 0) {
			// 调用不层次的函数
			create_child_list(range,period);
		} else {
			expend_fold_by_domid(domid);
		}
		stopBubble(event);
	});



});	//end of $(document).ready事件